/**
   CS 305 & 503, Data Structures and Algorithms
   Programming Assignment 3, Fall 2010

   An interface for a single method that accepts two binary trees and looks for
   an occurrence of one tree in the other.   
 */



interface TreeMatcher<T extends Comparable<T>> {

  /**
     Determine if one binary tree contains another.

     @param tree The binary tree to search.

     @param pattern The binary tree to search for.

     @return The root of the match for pattern in tree or null if pattern does
     not occur in tree.  If pattern occurrs more than once in tree, the root of
     any match can be returned.
   */

  BinaryTree<T> match(BinaryTree<T> tree, BinaryTree<T> pattern);
  }


// $Log: TreeMatcher.java,v $
// Revision 1.2  2010/11/19 02:48:01  rclayton
// Add a type parameter for the value type.
//
// Revision 1.1  2010/11/10 02:05:43  rclayton
// Initial revision
//
